Background
In many environments such as data centers (or server farms), there is a need to inter-connect and manage a very large number of physical or virtual servers. There are many challenges associated with provisioning the interconnections and managing policies for each server and these are compounded by the growth in virtual server environments.
In a virtualized environment, each physical server implements a hyper visor that manages multiple virtual servers (or virtual machines, VMs). The hypervisor may implement its own network switch so its constituent VMs can communicate with each other. This however, creates a management and performance challenge. The switch within the hypervisor lacks the capabilities of dedicated network switches and is outside the scope of the data center network's management framework.
Dedicated network switches (such as Ethernet bridges, switches and routers) are typically implemented in high performance silicon and it is desirable to extend the benefits of these switches to managing inter-VM traffic.
One model for enabling connectivity in such environments is through the use of a “distributed switch” or “extended switch”. As used herein, the distributed switch may also be referred to as a “distributed bridge” or “extended bridge”. This model includes a controlling bridge entity (CB) and subordinate port extender entities (PE). The CB entity contains high performance silicon for switching Ethernet packets (frames) and the PE entities provide access ports of the distributed switch with limited packet switching capabilities to and from a CB. Upon the entry of a packet to the distributed switch at a PE port, the PE attaches a “Port Identifier” tag (“port identifier tag”) to the packet in order to help identify and process it at the CB. This port identifier tag identifies the ingress interface of the packet to the distributed switch. A PE may be connected to multiple CBs and the port identifier tag attached to the packet must be meaningful to the CB to which the packet will be forwarded. Each PE uplink connects to a unique CB and the CB can be thus identified by the PE's uplink interface. If an identifier namespace is associated with the PE's uplink interface and thus associated to the CB, the port identifier tag must be within the scope of that namespace.
To enable redundancy, Ethernet link aggregation groups (LAGs) may be used anywhere in such a network including any links connecting PEs to Servers/Switches, PEs to PEs, or PEs to CB. ALAG makes multiple Ethernet links appear as a single logical link with load balancing techniques used to distribute traffic on to the individual member links of the LAG. If there is a LAG interconnecting the first layer of PEs (or the so called “access PEs”) of the distributed switch to Servers/Switches, and if packets sent through member links of the LAG reach the CB through separate physical interfaces of the CB (and thus different namespaces), then the forwarding of packets based on the port identifier tag may fail in the presence of LAGs, as the port identifier tag identifying a single LAG will get mapped to different namespaces. Therefore, methods and systems are needed for forwarding of packets in distributed switch environments that include LAGs.